תאריך לפני ה 1/1/1970
בקיצור - למישהו יש המלצות? תודה :D
12 תשובות
איזה בעיה יש לך עם תאריך?
נראה לי קראת באיזה ספר שיש בעיה עם תאריך כזה ומאז החלטת שיש לך בעיות עם תאריך כזה.
זאת הפונקציה שאני עובד איתה (אם מישהו מגיע בעתיד מגוגל וכו'..)
function age($birthday)
{
$age = date('Y') - date('Y', $birthday) - 1;
if(date('z') >= date('z', $birthday))
{
$age++;
}
return $age;
}
function test_ago($timeString)
{
echo "Giving string: {$timeString}<br>";
if($time = strtotime($timeString))
{
echo "Date: " . date("d.m.Y", $time) . "<br>" .
"Age: " . age($time) . "<br>";
}
echo "<br>";
}
test_ago("today");
test_ago("today + 1 day");
test_ago("today - 1 day");
test_ago("25.09.1994");
test_ago("25.10.1994");
test_ago("25.11.1994");
test_ago("25.12.1994");
test_ago("25.01.1995");
האופציה השניה (עדיפה מבחינת מהירות, אבל לא מבחינת דיוק אחרי גיל 70):
{
return date("Y", time() - $birthday) - 1970;
}
תודה על השיתוף.
זה הפונקציות שכל מתכנת טוב עובד איתם.
"מתכנת טוב" יודע להבדיל מתי צריך לעבוד עם מחלקות כבדות ומתי אפשר לקרוא לפונקציה פשוטה.
במקרה שלי אני לא רוצה צורך ליצור אובייקט חדש.
גם מבחינת ביצועי המסד (לפחות בMYSQL) עדיף לשמור את הזמן על integer עם unix time.
זה לא תירוץ, אני באמת לא רואה סיבה לעבוד עם DateTime במצב הנ"ל..
אתה היית עובד עם DateTime במצב הזה?..
הייתי עובד איתו בכל מצב.
אין צורך לפחד מזה שקוראים לזה "מחלקה" או מזה שצריך ללמוד איך להשתמש בה.
זה חלק מהשפה שאתה מכתנת בה וכדאי שתכיר את הכלים הכי טובים שהשפה מספקת לך.
באיחוד כשהיא נותנת לך פתרון מוכן למה שאתה הולך לממש לבד.
אין כזה דבר נכון או לא נכון בתיכנות יש כזה דבר עובד או לא עובד.
ממילא הסימון תשובה נכונה שגוי.